package com.aoip.telemetry.telemetry.configureui.business.protocol.service;

import com.aoip.telemetry.telemetry.entity.protocol.ProtocolBaseEntity;

import java.util.List;

/**
 * @author chenbai
 * @version 1.0
 * @date 2022/2/16 14:22
 */
public interface ProtocolBaseService {

    /**
     * 协议列表
     *
     * @param entity 处理器规则实体
     * @return java.util.List<com.aoip.telemetry.telemetry.entity.protocol.ProtocolBaseEntity>
     * @author chenbai
     * @date 2022/2/11
     **/
    List<ProtocolBaseEntity> list(ProtocolBaseEntity entity);

    /**
     * 根据id查询单个协议信息
     *
     * @param id 协议主键
     * @return com.aoip.telemetry.telemetry.entity.protocol.ProtocolBaseEntity
     * @author chenbai
     * @date 2022/2/11
     **/
    ProtocolBaseEntity protocolBase(String id);

    /**
     * 协议新增
     *
     * @param entity 协议实体
     * @return int
     * @author chenbai
     * @date 2022/2/11
     **/
    int insert(ProtocolBaseEntity entity);

    /**
     * 协议修改
     *
     * @param entity 协议实体
     * @return int
     * @author chenbai
     * @date 2022/2/11
     **/
    int update(ProtocolBaseEntity entity);

    /**
     * 初始化测站数据到redis缓存库
     *
     * @return int
     * @author chenbai
     * @date 2022/3/8
     **/
    int initCache();
    /**
     * 协议删除
     *
     * @param ids 协议主键集合
     * @author chenbai
     * @date 2022/2/11
     **/
    void delete(long[] ids);
}
